package com.navinfo.platform.trip.common.pojo;

import com.navinfo.platform.trip.common.enums.ProtocolEnum;
import lombok.Data;


/**
 * 位置点0200的pojo，所有车厂公用一份<br/>
 * 使用基础类型修饰属性
 * @author web
 **/
@Data
public class Point0200 implements Point {
    /**
     * tid,（公共）
     */
    private long tid;
    /**
     * 读取离线公共轨迹时使用<br/>
     * tripId,行程ID（公共）
     */
    private int tripId;
    /**
     *  协议类型,1:0f37,2:0200（公共）
     */
    private ProtocolEnum protocol;
    /**
     * gps时间，单位毫秒（公共）
     */
    private long gpsTime;
    /**
     * 车速,单位km/h，(公共)
     */
    private double speedKmh;
    /**
     * 原始纬度（84坐标系） ，单位：以度为单位乘以10的6次方(公共)
     */
    private int originalLat;
    /**
     * 原始经度（84坐标系） ，单位：以度为单位乘以10的6次方(公共)
     */
    private int originalLng;
    /**
     * 纬度，单位度，扩展10的6次方(公共)
     */
    private int latitude;
    /**
     * 经度，单位度，扩展10的6次方(公共)
     */
    private int longitude;
    /**
     * 方向(0~359)正北为0，顺时针(公共)
     */
    private int direction;
    /**
     * 高程，海拔高度，单位m (公共)
     */
    private double height;
    /**
     * 附加状态位<br/>
     * 发动机转速，单位rpm转每分钟，(公共)
     */
    private int rotation;

    /**
     * 附加状态位<br/>
     * 油门开度百分比，单位%，(公共)
     */
    private int accPedalPos;
    /**
     * 附加状态位<br/>
     * 离合开关状态，0关，1开(公共)
     */
    private int clutchSwitch;
    /**
     * 附加状态位<br/>
     * 发动机输出扭矩，单位%，(公共)
     */
    private int engineOutputTorque;
    /**
     * 附加状态位<br/>
     * 发动机燃油消耗率，单位L/H (公共)
     */
    private double fuelConsumptionRate;
    /**
     * 附加状态位<br/>
     * 发动机瞬时油耗，单位KM/L (公共)
     */
    private double realTimeOilConsumption;

    /**
     * 制动信号开关(0F37特有，0200为0)
     */
    private final int brake = 0;

    /* ***************************************
     * 位置协议特有的属性
     * **************************************/
    /**
     * 状态位<br/>
     * acc状态，0关，1开（0200特有）
     */
    private int accStatus;
    /**
     * 附加状态位<br/>
     * 定速巡航状态，0关，1开（0200特有）
     */
    private int cruiseControl;
    /**
     * 报警位<br/>
     * 弯道超速，0：不是，1：是(0200特有)
     */
    private int curveStatus;
    /**
     * 附加报警位<br/>
     * 手刹，0关，1开（0200特有）
     */
    private int handBrakeStatus;
    /**
     * 附加报警位<br/>
     * 空挡滑行，0:不是，1:空挡滑行（0200特有）
     */
    private int slideNeutralStatus;
    /**
     * 附加报警位<br/>
     *急加速，0：不是，1：急加速（0200特有）
     */
    private int rapidAccelerationStatus;
    /**
     * 附加报警位<br/>
     * 急减速，0：不是，1：急减速（0200特有）
     */
    private int rapidDecelerationStatus;
    /**
     * 附加报警位<br/>
     * 急转弯，0：不是，1：急转弯（0200特有）
     */
    private int sharpTurningStatus;
    /**
     * 附加报警位<br/>
     * 猛踩油门，0：不是，1：猛踩油门（0200特有）
     */
    private int slamAcceleratorStatus;

    /**
     * 附加状态位<br/>
     * can、ecu里程，单位KM（0200特有）
     */
    private double ecuMileage;
    /**
     * 附加状态位<br/>
     * 仪表里程，单位KM（0200特有）
     */
    private double meterMileage;
    /**
     * 附加状态位<br/>
     * 积分里程，单位KM（0200特有）
     */
    private double integralMileage;
    /**
     * 附加状态位<br/>
     * 积分油耗，单位L（0200特有）
     */
    private double integralFuelCons;
    /**
     * 附加状态位<br/>
     *燃油总消耗，单位L（0200特有）
     */
    private double totalFuelCons;
    /**
     * 附加状态位<br/>
     * 油液百分比，（0200特有）
     */
    private double oilPercentage;
    /**
     * 附加状态位<br/>
     * 冷却水温，单位：摄氏度（0200特有）
     */
    private int coolingWaterTem;
    /**
     * 附加状态位<br/>
     * 进气温度，单位：摄氏度（0200特有）
     */
    private int intakeAirTem;
    /**
     * 附加状态位<br/>
     * 进气压力（0200特有）
     */
    private int intakePressure;
    /**
     * 附加状态位<br/>
     * 累计运行时长，单位：s（0200特有）
     */
    private long cumulativeRunningTime;

    /**
     * GPS里程，单位KM（0200特有）
     */
    private double gpsMileage;
    /**
     * 标准里程，单位KM（0200特有）
     * 仪表里程  > ecu里程 > gps里程 > 积分里程
     */
    private float standardMileage;
    /**
     * 标准油耗，单位L（0200特有）
     * 燃油总消耗 > 积分油耗
     */
    private float standardFuelCons;
    /**
     * AMT载重,单位kg（0200特有）
     */
    private int amtLoad;
    /**
     * VECU载重,单位kg（0200特有）
     */
    private int vecuLoad;

    /**
     * 是否补传，0不是，1是（0200特有）
     */
    private int patch;
    /**
     * 流水号（0200特有，0F37为0）
     */
    private int serialNumber;
    /**
     * 原始0200该值为null；
     * 数据清洗后的修正值，格式：col0=123|col1=234|....
     */
    private String dataUpd;

}
